package com.team11.server.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.team11.server.pojo.SInformation;
import com.team11.server.pojo.dto.SKStudentRecord;
import com.team11.server.pojo.dto.vo.SkStudentRecordVo;
import com.team11.server.pojo.student.StudentInformation;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

/**
 * <p>
 *  Mapper 接口
 * </p>
 *
 * @author pjc
 * @since 2021-06-15
 */
public interface SInformationMapper extends BaseMapper<SInformation> {

    /**
     * 获取上课信息
     * @param page
     * @param kc_s_id
     * @param skStudentRecordVo
     */

    IPage<SKStudentRecord> getStudentByKcSID(Page<SKStudentRecord> page,
                                          @Param("kc_s_id") Integer kc_s_id,
                                          @Param("skStudentRecordVo") SkStudentRecordVo skStudentRecordVo);


    //杜康

    /**
     * 通过学生学号查询个人详细信息
     * @param sNumber 学生学号
     * @return 个人详细信息
     */
    StudentInformation getStudentsBysId(String sNumber);

    /**
     *根据学生学号更新邮箱地址
     * @param sNumber 学生学号
     * @param sEmail 邮箱地址
     * @return 影响行数
     */
    Integer updateEmail(String sNumber,String sEmail);

    /**
     * 根据邮箱地址获取学生数量
     * @param sNumber 学生学号
     * @param sEmail 邮箱地址
     * @return 学生个数
     */
    Integer getCountByEmailForUpdate(String sNumber,String sEmail);

    /**
     * 根据学生学号更新手机号码
     * @param sNumber 学生学号
     * @param sPhone 手机号码
     * @return 影响行数
     */
    Integer updatePhone(String sNumber,String sPhone);

    /**
     * 根据手机号码获取学生数量
     * @param sNumber 学生学号
     * @param sPhone 手机号码
     * @return 学生个数
     */
    Integer getCountByPhoneForUpdate(String sNumber,String sPhone);

    /**
     * 根据学生id获取项目组id
     * @param  sid 学生id
     * @return 项目组id
     */
    List<Integer> getPidBysId(Integer sid);
    /**
     * 根据学号获取学生id
     * @param sNumber 学生学号
     * @return 学生id
     */
    Integer getSidById(String sNumber);

    List<Map<String, Object>> getStudentByPId(Integer integer);

    Map<String, Object> getStudent(@Param("rId") String rId);
}
